#pragma once

#include <d3dx9.h>


class CSceneNodeProperties
{

	public:
		CSceneNodeProperties()
		{
			Position = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
			Scale = D3DXVECTOR3(1.0f, 1.0f, 1.0f);
			RotCenter = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
			ScaleCenter = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
			Color = D3DCOLOR_XRGB(255, 255, 255);
			Rotation = 0.0f;

			Acceleration = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
			DynamicMotion = true;
		}


		//node properties
		D3DXVECTOR3		Position;
		D3DXVECTOR3		Scale;
		D3DXVECTOR3		RotCenter;
		D3DXVECTOR3		ScaleCenter;
		DWORD			Color;
		float			Rotation;

		//
		D3DXVECTOR3		Acceleration;
		bool			DynamicMotion;

		D3DXMATRIX		WorldTransformation;

		void SetZ(float zValue) { this->Position.z = zValue; };
		float GetZ() const { return this->Position.z; }
};